Advances in the field of computer and electronic system design continue to drive and facilitate greater processing efficiencies. Through modeling and other analysis, electronic files containing designs for electronic circuits and computer systems are optimized for use as templates for hardware manufacturing and networking. A typical computer/circuit design file includes text that accounts for numerous electronic hardware components. For example, a file containing a design commonly includes programmatic objects and identifiers descriptive of busses, microchips, expansion cards and other system hardware. A bus generally enables selective communication between a computer processor unit (CPU) and one or more components, such as those mounted on an expansion card. A typical bus, such as a Peripheral Component Interconnect or Industry Standard Architecture bus, may additionally couple to a main system circuit board. Expansion cards are typically thin, rectangular printed circuit boards that have connector pins along one edge that couple to corresponding sockets of the bus. Programmatic objects describing such components within the design file may include delay, routing, voltage, resistance, symbol and/or other parameter data.
In operation, actual components of a circuit cooperate to process electronic signals according to system requirements. More particularly, the components interconnect to generate and communicate electronic signals. Different combinations and configurations of components affect system performance. For example, component layout can impact system timing. System timing regards the arrival of a signal at a given component within a predetermined window of time. Each component visited along the path of a signal introduces varying delay that affects the time required for the signal to reach a destination component. Thus, successful timing requires coordination with other signals and signal paths to ensure coordinated system processing. Failure to achieve desired timing can result in processing delays, error and failure. For instance, a system function that conjunctively processes multiple signals cannot complete its processing until the last of the signals arrives. Thus, the function can be unduly delayed or altogether frustrated should an unacceptable amount of time lapse while waiting for the last of the signals to arrive. For example, delays may cause race conditions, where a process may shutdown altogether in response to a late signal.
Another performance factor affected by system design is noise. Noise is characterized as static or interference introduced as the signal travels through system components and connections. As such, the electrical characteristics of the signal change as it propagates through a system. For instance, square wave characteristics of an input signal may become less distinct due to loss dispersion encountered in a system. While some tolerance of noise is typically built into a system design specification, unacceptable noise levels can severely impact signal clarity and system performance. For example, data may become corrupted, e.g., a binary “1” may register as a “0.”
Production of a hardware system represents a substantial investment of material, manpower and other economic resources. Consequently, it is advantageous to verify design integrity prior to committing it to hardware. More particularly, it is desirable to predict or otherwise analyze performance characteristics of a design prior to implementation. To this end, simulation programs, or engines, have been developed to model performance of the programmatic objects of a design. Such modeling practices help to assure conformity with system needs.
Processes associated with modeling, however, represent a substantial investment of manpower, as a single modeling effort may require days of preparation, constant monitoring and technical attention. For instance, an analyst must attempt to create a data file that encapsulates critical aspects of a design, yet is small enough to be processed without overwhelming the memory and processing resources of a system. Furthermore, the analyst must ensure that the data file, as well all programs required to process the file, are accounted for, available and recalled at the proper sequences, or an entire simulation may be compromised. In that vein, the analyst must also ensure that an adequate amount of processing power and memory is available to accommodate a modeling process. Failure to provide such files and resources on a timely basis can unduly delay and frustrate a modeling process. For example, an analyst may painstakingly manage a modeling process for weeks before realizing that the absence of a missing file or adequate memory will require the entire modeling process to be re-accomplished. Moreover and as may be inferred from above, modeling requires many dedicated hours from the most highly skilled and experienced analysts to properly setup, coordinate, monitor and otherwise execute a simulation. Such demands on personnel complicate training, limit the number of those available who can execute a modeling scenario, and draw the most skilled personnel away from other projects that could otherwise benefit from their expertise.
Consequently, and for in part the above delineated reasons, there exists a need for an improved manner of managing a circuit system simulation.